1.Amazon SNS是什麼?
Amazon Simple Notification Service (Amazon SNS) 是一種 Web 服務,可以用非同步的方式與「訂閱者」協調與管理訊息。在 Amazon SNS 中有兩個用戶端類型:發佈者及訂閱者,發佈者(Publisher)就是製作者,訂閱者(Subscriber)即是消費者,可配合下方圖甲來配合以下說明。發布者可以製作並傳送到SNS topic(SNS 主題),訂閱者只要有訂閱這個主題,別可以透過Lambda、SQS、HTTP/S、Email、SMS來接收訊息。當然如果身為發佈者可以決定哪些訊息要傳送給哪些訂閱者,所以具有一定的彈性。
2.實際動手做 - Amazon SNS實作
Step.1 先點選Simple Notification Service
Step.2 首先第一步就是要建立主題(Create topic),所以在左方選單選擇主題,並且按下「建立主題」。
Step.3 此畫面分別要輸入主題的名稱以及要顯示的名稱,另外還有很多額外的設定,在此範例就先不做設定,直接按下「建立主題」即可。
Step.4 但由於主題本身並不允許傳送任何訊息,所以要來建立訂閱者。按下左方選單的訂閱,並選擇「建立訂閱」。
Step.5 接下來選擇剛剛創建的主題,並且在通訊協定(Protocol)的地方可以看到有很多選擇,在此範例中選擇「電子郵件」,並且輸入端點的欄位輸入自己的電子郵件,並按下「建立訂閱」。
Step.6 成功建立後,可以看到狀態欄位顯示待定確認,這是因為此電子郵件還沒被確認,所以可以到您剛剛輸入的信箱去,這時AWS會寄一封驗證信的信箱裡,點下信裡的「Confirm subscription(確認訂閱)」就會跳出右側那個成功的頁面,不要按下「click here to unsubscribe」鈕,那個是要取消訂閱的。再來回到一開始的畫面就可以看到狀態欄顯示「已確認」了。
Step.7 下一步必須要去改一下主題的設定讓S3可以發布訊息,所以點擊上方「編輯」要來更改「存取政策」
Step.8 注意,這裡有兩個地方要改
Step.9 接下來為了要測試,打開S3儲存貯體,S3 儲存貯體可以視需要產生資訊給 SNS 主題,為了要加快速度,我已經先新增一個桶子,並且上傳一張圖片存進這個桶子。
Step.10 在屬性裡面選擇「事件」。
Step.11 新增一個新的事件,取名為demo-sns,並且勾選所有物件建立事件和所有物件刪除事件,這樣每當這個桶子有新增或刪除物件時就會被通知,再來下方要選擇傳送至剛剛創建的主題,並選擇「儲存」。
Step.12 這時只要回到原本的桶子,把圖片刪掉後就會及時收到由SNS寄出的通知。
3.考前重點大補帖
⦁ AWS SNS是一種彈性、全受管的發佈簡訊和行動通訊的服務。
⦁ Amazon SNS 可讓您為 Amazon 中的不同系統(不是全部)提供發佈/訂閱簡訊功能。
⦁ 在使用Amazon SNS時第一步是創建主題。
⦁ 建立主題可讓我傳送必要的資訊到我想設定的目的地。
⦁ 在 Amazon SNS 中有兩個用戶端類型:發佈者(Publisher)及訂閱者(Subscriber)。